/*
* 一些处理报表模块的工具函数
* */

/*
* 多字符换行
* 传入一个500个字符以下的字符串，转换为多行，因为在图表里面显示不全
* 每行40个
* */
export function lengthStrShow(str) {
  let regExp = /^(?!.*?[\u3000-\u303F\u4DC0-\u4DFF\u2800-\u28FF\u3200-\u32FF\u3300-\u33FF\u2700-\u27BF\u2600-\u26FF\uFE10-\uFE1F\uFE30-\uFE4F])[\u4e00-\u9fbb\u2E80-\uFE4F]+$/i;
  let resLine = [];
  if (str && str.length >= 40) {
    let singleLine = [];
    for (let i = 0, len = str.length; i < len; i++) {
      if (regExp.test(str[i])) {
        singleLine.push(str[i]);
        singleLine.push("");
      } else {
        singleLine.push(str[i]);
      }
      if (singleLine.length >= 40) {
        let cache = [...singleLine];
        resLine.push(cache.join(""));
        resLine.push('</br>');
        singleLine = [];
      }
    }
    resLine.push(singleLine.join(""));
    return resLine.join("");
  } else {
    return str
  }
}
/*
* 截取字符
* 字符串太长，截取前6个，其他以点显示
* */
export function _ts(str) {
  let regExp = /^(?!.*?[\u3000-\u303F\u4DC0-\u4DFF\u2800-\u28FF\u3200-\u32FF\u3300-\u33FF\u2700-\u27BF\u2600-\u26FF\uFE10-\uFE1F\uFE30-\uFE4F])[\u4e00-\u9fbb\u2E80-\uFE4F]+$/i;
  if (str && str.length > 6) {
    if (regExp.test(str)) {
      //全是中文
      return str.substr(0, 6) + "...";
    } else {
      //其他
      if (str.length > 10) {
        return str.substr(0, 10) + "...";
      } else {
        return str;
      }
    }
  }
  return str;
}

